/* Copyright (C) 2008 Free Software Foundation, Inc.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.  */

#ifndef JAL_H
#define JAL_H

#include "jal-tree.h"

/* The author remains confused to this day about the convention of
   returning '0' for 'SUCCESS'... or was it the other way around?  The
   following enum makes things much more readable.  We also start
   values off at one instead of zero.  */

typedef enum
{ SUCCESS = 1, FAILURE }
gfc_try;


void jal_init_decl_processing (void);
void jal_parse_file (const char* fname);


#define RID_BIT 199
#define RID_BYTE 200
#define RID_SBYTE 201
#define RID_DWORD 202
#define RID_SDWORD 203
#define RID_PROCEDURE 210
#define RID_FUNCTION 211
#define RID_IS 212
#define RID_USING 214
#define RID_OTHERWISE 215
#define RID_OF 216
#define RID_ALIAS 217
#define RID_LOOP 218
#define RID_END 219
#define RID_FOREVER 220
#define RID_BEGIN 221
#define RID_EXIT 222
#define RID_REPEAT 223
#define RID_UNTIL 224
#define RID_BLOCK 225
#define RID_ELSIF 226
#define RID_THEN 227
#define RID_VAR 228
#define RID_AT 229
#define RID_WORD 230
#define RID_SWORD 231
#define RID_PRAGMA 232

void make_current_function_inline();


#define BASEVER "1.0"
#endif /* JAL_H */
